// 引入formidable第三方模块
const formidable = require('formidable');
const path = require('path');
const { Article,validateArticle } = require('../../model/article');

module.exports =async (req, res) => {
    // 1.创建表单解析对象
    const form = new formidable.IncomingForm();
    // 2.配置上传文件的存放位置
    form.uploadDir = path.join(__dirname, '../', '../', 'public', 'uploads');
    // 3.保留上传文件的后缀
    form.keepExtensions = true;
    // 4.解析表单
    form.parse(req, async (err, fields, files) => {
        // 1.err错误对象 如果表单解析失败 err里面存储错误信息 如果表单解析成功 err将会是null
        // 2.fields 对象类型 保存普通表单数据
        // 3.files 对象类型 保存了和上传文件相关的数据
        // 实施验证

        await Article.create({
            title: fields.title,
            author: fields.author,
            publishDate: fields.publishDate,
            // C:\Users\liujiaqi\桌面\project\博客管理系统\public\uploads\upload_0b5c4f5f53543fa20cabd5ed519f940a.png
            // 以public作为分割符
            cover: files.cover.path.split('public')[1],
            content: fields.content,
        });
        res.redirect('/admin/article')
    })
}
